

package com.hazelcast.partition;

/**
 * Local statistics related to partition data replication.
 * <p>
 * Partition data are replicated across members either because
 * a new member becomes owner of a partition replica (usually the
 * term migration is used for this data replication action) or because
 * the member that owns a backup replica determined it may be
 * out of sync with the partition owner and requests partition data
 * replication.
 *
 * @since 5.0
 */
public interface LocalReplicationStats {

    /**
     * @return count of differential partition replications
     * originating from this member.
     */
    long getDifferentialPartitionReplicationCount();

    /**
     * @return count of full partition replications
     * originating from this member.
     */
    long getFullPartitionReplicationCount();

    /**
     * @return count of records replicated due to differential
     * partition replications originating from this member.
     */
    long getDifferentialReplicationRecordCount();

    /**
     * @return count of records replicated due to full
     * partition replications originating from this member.
     */
    long getFullReplicationRecordCount();

}
